#pragma once
#include <glm/glm.hpp>
#include <vector>

namespace PhysLeo{

/*  HEX
   7-----6
  /|    /|
 4-----5 |
 | 3---|-2
 |/    |/
 0-----1
*/
enum class EleType
{
	NONE,TRI,QUAD,TET,HEX
};

/**
 * return the number of vertices in one element.
 * @param[in] ele_type  the element type
 * @return a integer value
 */
int eleVertNumFromEleType(const EleType ele_type);

/**
 * return element volume area length for 3D 2D 1D situation
 */
float volumeFromEleType(const EleType ele_type, std::vector<glm::tvec3<float>> &pos);

}